package org.zachary.prosocialbehaviorservice.domain.repository;

import org.zachary.prosocialbehaviorservice.domain.aggregate_model.activity.ActivityItem;
import org.zachary.prosocialbehaviorservice.domain.aggregate_model.activity.UserActivityParticipation;
import org.zachary.prosocialbehaviorservice.domain.aggregate_model.activity_user.UserActivity;
import org.zachary.prosocialbehaviorservice.domain.aggregate_model.activity_user.UserJoinActivityDTO;

import java.util.List;
import java.util.Optional;

public interface UserActivityParticipationRepository{
    void joinActivity(UserActivity command);
    void exitActivity(Integer userId, Integer itemId);
    List<UserActivity> userAllActivities(Integer userId);

    void finished(Integer userId, Integer itemId);

    UserActivity findByUserItemId(Integer userId, Integer itemId);
    List<UserJoinActivityDTO> findUserJoinActivities(Integer userId);
}
